package csdn;

import java.util.*;

/**
 * 项目名称：wangxu
 * 类 名 称：RealTopic02
 * 描 述：
 * 创建时间：2023/4/5 9:21 下午
 * 创 建 人：wang-xu
 */
public class RealTopic02 {
    public static void main(String[] args) {
        try {
            Scanner in = new Scanner(System.in);
            int N = Integer.parseInt(in.nextLine());
            if (N < 2 || N > 100){
                System.out.println("input error");
                return;
            }
            String idStr = in.nextLine();
            String[] ids = idStr.split(",");
            String score = in.nextLine();
            String[] scores = score.split(",");
            Map<String, List<Integer>> hashMap = new HashMap<>();
            for (int i = 0; i < N; i++) {
                if (Integer.parseInt(ids[i]) < 2 || Integer.parseInt(ids[i]) > 100){
                    System.out.println("input error");
                    return;
                }
                if (Integer.parseInt(scores[i]) < 0 || Integer.parseInt(scores[i]) > 100){
                    System.out.println("input error");
                    return;
                }
                // 单个选手的成绩单
                if (hashMap.containsKey(ids[i])){
                    hashMap.get(ids[i]).add(Integer.parseInt(scores[i]));
                }else {
                    List<Integer> scoreList = new ArrayList<>();
                    scoreList.add(Integer.parseInt(scores[i]));
                    hashMap.put(ids[i], scoreList);
                }
            }

            // 存储选手和其最大三个分数之和
            List<List<Integer>> allList = new ArrayList<>();
            // 判断选手成绩是否有效，即超过三个有效
            hashMap.forEach((key,value)->{
                // 记录总分和选手id
                List<Integer> sumList = new ArrayList<>();
                if (value.size() >= 3){
                    sumList.add(Integer.parseInt(key));
                    // 对成绩进行排序，取后三位值，即获取最大的三个成绩
                    Collections.sort(value);
                    sumList.add(value.get(value.size()-3)+value.get(value.size()-2)+value.get(value.size()-1));
                }
                allList.add(sumList);
            });

            // 根据成绩对选手进行排序，成绩若相同，则id大的排在id小的前面
            allList.sort((x,y)->{
                if (x.get(1) < y.get(1)){
                    return 1;
                }
                if (x.get(0) < y.get(0)){
                    return 1;
                }
                return -1;
            });

            //输出排序后的id
            StringBuilder sb = new StringBuilder();
            for (List<Integer> list:allList) {
                sb.append(list.get(0)).append(",");
            }
            System.out.println(sb.toString());
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
